﻿using System;
using System.Collections.Generic;
using System.Text;

namespace daBase.Objects.AnalysisErrors
{
    /// <summary>
    /// Уровень важности
    /// </summary>
    [Serializable()]
    public class Importance
    {
        // Значение уровня важности
        private int value;
        
        /// <summary>
        /// Значение уровня важности
        /// </summary>
        public int Value
        {
            get { return value; }
            set
            {
                this.value = (value > 0) ? ((value <= 100) ? value : 100) : 1;
            }
        }

        /// <summary>
        /// Оценка уровня важности ошибки
        /// </summary>
        /// <param name="level">уровень важности ошибки</param>
        /// <returns>оценка уровня важности</returns>
        private ErrorLevel GetErrorLevel(int Level)
        {
            if (Level < 34) return ErrorLevel.Hint;
            if (Level < 67) return ErrorLevel.Alert;
            return ErrorLevel.Error;
        }

        /// <summary>
        /// Класс важности ошибки
        /// </summary>
        public ErrorLevel Level { get { return GetErrorLevel(value); } }

        /// <summary>
        /// Параметрический конструктор
        /// </summary>
        /// <param name="value">значение уровня важности</param>
        public Importance(int Value)
        {
            value = Value;
        }

        /// <summary>
        /// Конструктор по умолчанию (уровень важности - 10)
        /// </summary>
        public Importance() : this(10) { }
    }
}
